The availability of open source and proprietary hardware and software tools has resulted in the rapid development of new and varying products. Hardware and software tools such as computing system firmware, operating systems, software development kits, hardware components, and other tools can be used, modified, and/or repurposed to accelerate the product development process. Recently, a popular tool or device component has been the Android operating system. However, the Android operating system has not only been used in developing new phones but also tablets, computers, smart devices, and other devices using some form or version of the Android operating system. As it is applied to different systems and applications though, working with the devices becomes increasingly difficult—the system becomes increasingly fragmented. One report cited that over 11,000 distinct Android devices were in use in 2013, which grew to over 18,000 in 2014. Each of these devices may have specific hardware limitations, network carrier limitations, product system limitations (e.g., who sells and maintains the product), and other complications, which complicate the network of responsibility in maintaining the device. Such fragmentation presents numerous challenges. In particular, the security of Android devices becomes difficult to manage due to the various relationships and responsibilities of the involved parties. Such problems are also prevalent for other widely used tools and device components. Thus, there is a need in the software versioning field to create a new and useful system and method for determining tool version capabilities. This invention provides such a new and useful system and method.